﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Generico.Coneccion;

namespace Administracion.Administracion
{
    public partial class ABMUsuarios : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            //var _FileBrowser1 = new CKFinder.FileBrowser { BasePath = "../ckfinder/" };
            //_FileBrowser1.SetupCKEditor(this.txtContenido);


            if (!this.IsPostBack)
            {
                CargarLista();
                if (lstInfo.Items.Count >= 1)
                {
                    this.lstInfo.SelectedIndex = 0;
                    cargardatos(Convert.ToInt32(lstInfo.SelectedValue));
                }
                Habilitar(true);
            }

            if (!this.IsPostBack)
            {
                CargarLista();
                if (lstInfo.Items.Count >= 1)
                {
                    this.lstInfo.SelectedIndex = 0;
                    cargardatos(Convert.ToInt32(lstInfo.SelectedValue));
                }
                Habilitar(true);
            }
        }



        protected void lstInfo_SelectedIndexChanged1(object sender, EventArgs e)
        {
            if (lstInfo.SelectedValue != String.Empty)
            {
                cargardatos(Convert.ToInt32(lstInfo.SelectedValue));
            }

        }
        private void cargardatos(int valor)
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            var rd = cn.EjecutarSqlDataReader("Select * From Personas where id = " + valor.ToString());
            while (rd.Read())
            {
                txtId.Text = rd["Id"].ToString();
                txtApodo.Text=rd["Apodo"].ToString();   
                txtNombre.Text=rd["Nombre"].ToString();
                txtApellido.Text=rd["Apellido"].ToString();
                txtmail.Text = rd["mail"].ToString();
                txtTelefono.Text=rd["Telefono"].ToString();
                txtProfesion.Text=rd["Profesion"].ToString();
                txtTipoIngreso.Text=rd["TipoIngreso"].ToString();
                txtDomicilio.Text=rd["Domicilio"].ToString();
                txtPassword.Value=rd["Password"].ToString();
                txtNews.Text=rd["News"].ToString();
                txtFechaIng.Text=rd["FechaIng"].ToString();
                txtCiudad.Text=rd["Ciudad"].ToString();
                txtDetalleProfesion.Text=rd["DetalleProfesion"].ToString();
                txtOtros.Text=rd["Otros"].ToString();          
            }
            rd.Close();
            cn.Cerrar();
        }

        protected void Button3_Click(object sender, EventArgs e)
        {

        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            Limpiar();
            Visualizar(true);
            Habilitar(false);
            this.Session.Add("Transaccion", "A");
        }
        private void Limpiar()
        {
            txtId.Text = string.Empty;
            txtApodo.Text = string.Empty;
            txtNombre.Text = string.Empty;
            txtApellido.Text = string.Empty;
            txtmail.Text = string.Empty;
            txtTelefono.Text = string.Empty;
            txtProfesion.Text = string.Empty;
            txtTipoIngreso.Text = string.Empty;
            txtDomicilio.Text = string.Empty;
            txtPassword.Value = string.Empty;
            txtNews.Text = string.Empty;
            txtFechaIng.Text = string.Empty;
            txtCiudad.Text = string.Empty;
            txtDetalleProfesion.Text = string.Empty;
            txtOtros.Text = string.Empty;     
        }
        private void Visualizar(bool visible)
        {
            btnAceptar.Visible = visible;
            btnCancelar.Visible = visible;
        }
        private void Habilitar(bool habilitado)
        {
            btnModificar.Enabled = habilitado;
            btnAgregar.Enabled = habilitado;
            btnEliminar.Enabled = habilitado;
            //txtTitulo.Enabled = !habilitado;
            txtId.Enabled = !habilitado;
            txtApodo.Enabled = !habilitado;
            txtNombre.Enabled = !habilitado;
            txtApellido.Enabled = !habilitado;
            txtmail.Enabled = !habilitado;
            txtTelefono.Enabled = !habilitado;
            txtProfesion.Enabled = !habilitado;
            txtTipoIngreso.Enabled = !habilitado;
            txtDomicilio.Enabled = !habilitado;
            //txtPassword.Enabled = !habilitado;
            txtNews.Enabled = !habilitado;
            txtFechaIng.Enabled = !habilitado;
            txtCiudad.Enabled = !habilitado;
            txtDetalleProfesion.Enabled = !habilitado;
            txtOtros.Enabled = !habilitado;

        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            Visualizar(true);
            Habilitar(false);
            this.Session.Add("Transaccion", "M");
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            string varTransaccion = Session["Transaccion"].ToString();

            var cn = new ClsConeccion();
            cn.Abrir();
            if (varTransaccion == "A")
            {
                cn.EjecutarSql("Insert Into Personas values ('"+ txtApodo.Text + "', '" + txtNombre.Text + "', '" + txtApellido.Text + "', '" + txtmail.Text + "', '" + txtProfesion.Text + "', '" + txtTipoIngreso.Text + "', '" + txtDomicilio.Text + "', '" + txtPassword.Value + "', '" + txtFechaIng.Text + "', '" + txtCiudad.Text + "', '" + txtDetalleProfesion.Text + "', '" + txtOtros.Text +  "') ");
                //'"+ txtApodo.Text + "', Nombre = '" + txtNombre.Text + "',Apellido = '" + txtApellido.Text + "', mail = '" + txtmail.Text + "', Profesion = '" + txtProfesion.Text + "', TipoIngreso = '" + txtTipoIngreso.Text + "', Domicilio = '" + txtDomicilio.Text + "', password = '" + txtPassword.Value + "', FechaIng = '" + txtFechaIng.Text + "', Ciudad = '" + txtCiudad.Text + "', DetalleProfesion = '" + txtDetalleProfesion.Text + "', Otros = '" + txtOtros.Text +  "') ");
                    //+ txtApodo.Text + "','" + txtNombre.Text + "','" + txtApellido.Text + "', '" + txtmail.Text + "','" + txtTelefono.Text + "', '" + txtProfesion.Text + "', '" + txtTipoIngreso.Text + "', '" + txtDomicilio.Text + "', '" + txtPassword.Value + "', '" + txtNews.Text + "', '" + "',GetDate(), '" + "', '" + txtCiudad.Text + "', '" + txtDetalleProfesion.Text + "', '" + txtOtros.Text + "') ");

                CargarLista();
            }

            if (varTransaccion == "M")
            {
                string sql = " Update Personas SET Nombre = '" + txtNombre.Text + "',";
                sql += " Apellido = '" + txtApellido.Text + "',";
                sql += " mail = '" + txtmail.Text + "',";
                sql += " Profesion = '" + txtProfesion.Text + "',";
                sql += " TipoIngreso = '" + txtTipoIngreso.Text + "',";
                sql += " Domicilio = '" + txtDomicilio.Text + "',";
                //sql += " password = '" + txtPassword.Value + "', ";
                sql += " news= '" + this.txtNews.Text + "',"; //tiene 1 solo caracter en bd..
                sql += " Ciudad = '" + txtCiudad.Text + "',";
                sql += " DetalleProfesion = '" + txtDetalleProfesion.Text + "',";
                sql += " Otros = '" + txtOtros.Text + "' ";                
                sql += " Where id = " + txtId.Text;

                cn.EjecutarSql(sql);
            }
            cn.Cerrar();
            Response.Write("<script> alert('Se ha guardado correctamente');</script>");
            Visualizar(false);
            Habilitar(true);
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {

            Limpiar();
            Visualizar(false);
            Habilitar(true);
        }

        private void CargarLista()
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            var rd = cn.EjecutarSqlDataReader("Select Id, Apellido + ', ' + Nombre as ape  FROM Personas order by Apellido, Nombre");
            var dt = new DataTable();
            dt.Load(rd);
            this.lstInfo.DataSource = dt;
            this.lstInfo.DataTextField = "ape";
            this.lstInfo.DataValueField = "Id";
            this.lstInfo.DataBind();
            cn.Cerrar();
        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            cn.EjecutarSql("Delete Personas where Id = " + txtId.Text);
            cn.Cerrar();
            Response.Write("<script> alert('Se ha elimando correctamente');</script>");
            CargarLista();
        }

        protected void btnResetear_Click(object sender, EventArgs e)
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            cn.EjecutarSql("Update Personas set password = '" + txtPassword.Value + "' where Id = " + txtId.Text);
            cn.Cerrar();
            Response.Write("<script> alert('Se ha reseteado correctamente');</script>");
            CargarLista();
        }

  
    }
}
